package controllcivil.primaryKey;

import java.io.Serializable;

import javax.persistence.Embeddable;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;

import controllcivil.bean.Material;
import controllcivil.bean.PessoaJuridica;

@Embeddable
public class FornecedorMaterialPK implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 197061088283124687L;

	@ManyToOne(fetch = FetchType.EAGER)
	private Material material;
	
	@ManyToOne(fetch = FetchType.EAGER)
	private PessoaJuridica pessoaJuridica;
	
	
	public FornecedorMaterialPK() {
	
	}


	public Material getMaterial() {
		return material;
	}


	public void setMaterial(Material material) {
		this.material = material;
	}


	public PessoaJuridica getPessoaJuridica() {
		return pessoaJuridica;
	}


	public void setPessoaJuridica(PessoaJuridica pessoaJuridica) {
		this.pessoaJuridica = pessoaJuridica;
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((material == null) ? 0 : material.hashCode());
		result = prime * result
				+ ((pessoaJuridica == null) ? 0 : pessoaJuridica.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		FornecedorMaterialPK other = (FornecedorMaterialPK) obj;
		if (material == null) {
			if (other.material != null)
				return false;
		} else if (!material.equals(other.material))
			return false;
		if (pessoaJuridica == null) {
			if (other.pessoaJuridica != null)
				return false;
		} else if (!pessoaJuridica.equals(other.pessoaJuridica))
			return false;
		return true;
	}


	@Override
	public String toString() {
		return "FornecedorMaterialPK [material=" + material
				+ ", pessoaJuridica=" + pessoaJuridica + "]";
	}

	
	
	

	
	
	


	
}
